package com.ruoyi.blindBoxManage.mapper;

import com.ruoyi.blindBoxManage.domain.BlindBoxPublicProduct;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 盲盒公共商品Mapper接口
 * 
 * @author ruoyi
 * @date 2025-09-05
 */
public interface BlindBoxPublicProductMapper 
{
    /**
     * 查询盲盒公共商品
     * 
     * @param id 盲盒公共商品主键
     * @return 盲盒公共商品
     */
    public BlindBoxPublicProduct selectBlindBoxPublicProductById(Long id);

    /**
     * 查询盲盒公共商品列表
     * 
     * @param blindBoxPublicProduct 盲盒公共商品
     * @return 盲盒公共商品集合
     */
    public List<BlindBoxPublicProduct> selectBlindBoxPublicProductList(BlindBoxPublicProduct blindBoxPublicProduct);

    /**
     * 新增盲盒公共商品
     * 
     * @param blindBoxPublicProduct 盲盒公共商品
     * @return 结果
     */
    public int insertBlindBoxPublicProduct(BlindBoxPublicProduct blindBoxPublicProduct);

    /**
     * 修改盲盒公共商品
     * 
     * @param blindBoxPublicProduct 盲盒公共商品
     * @return 结果
     */
    public int updateBlindBoxPublicProduct(BlindBoxPublicProduct blindBoxPublicProduct);

    /**
     * 删除盲盒公共商品
     * 
     * @param id 盲盒公共商品主键
     * @return 结果
     */
    public int deleteBlindBoxPublicProductById(Long id);

    /**
     * 批量删除盲盒公共商品
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBlindBoxPublicProductByIds(Long[] ids);

    @Select("select name from t_blind_box_public_product where id = #{publicProductId}")
    String selectNameById(@Param("publicProductId") Long publicProductId);

    Integer updatePackageBanch(BlindBoxPublicProduct blindBoxPublicProduct);
}
